﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Shapes;

namespace VisionFrame.Base
{
    public class NodeBase : UserControl
    {
        //public ICommand AnchorDownCommand { get; set; }
        //public ICommand AnchorUpCommand { get; set; }

        public ICommand AnchorDownCommand
        {
            get { return (ICommand)GetValue(AnchorDownCommandProperty); }
            set { SetValue(AnchorDownCommandProperty, value); }
        }
        public static readonly DependencyProperty AnchorDownCommandProperty =
            DependencyProperty.Register("AnchorDownCommand",
                typeof(ICommand), typeof(NodeBase), new PropertyMetadata(null));


        public ICommand AnchorUpCommand
        {
            get { return (ICommand)GetValue(AnchorUpCommandProperty); }
            set { SetValue(AnchorUpCommandProperty, value); }
        }
        public static readonly DependencyProperty AnchorUpCommandProperty =
            DependencyProperty.Register("AnchorUpCommand",
                typeof(ICommand), typeof(NodeBase), new PropertyMetadata(null));



        public void Ellipse_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            this.AnchorDownCommand?.Execute(
                (this.DataContext as NodeModelBase).NodeId + ";" + (sender as Ellipse).Tag.ToString()
                );
            e.Handled = true;
        }

        public void Ellipse_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            this.AnchorUpCommand?.Execute(
                (this.DataContext as NodeModelBase).NodeId + ";" + (sender as Ellipse).Tag.ToString()
                );
            e.Handled = true;
        }
    }
}
